//
//  MainViewController.swift
//  FLWeibo1
//1天的知识点  3个面试题   完成代码
//  Created by 丰良赵 on 16/5/11.
//  Copyright © 2016年 赵丰良. All rights reserved.
/*
 问题：
 1.怎么样调整tabbar的高度，
 */

import UIKit

class MainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 添加子控制器
        addChildViewControllers()
        
        // 设置tabbar
        // 方法1：  取消分割线   只不过只是展示修改tarbar上的那条线的方法，具需要自定义实现
        //在这个方法一定注意   alpha： 1.0    在swift中，1.0不能写成1  类型严谨的swift会直接报错

        //方法2 ：
        setupTabbar()
    }

    
}


// MARK： 设置tabbar
extension MainViewController {
    
    ///设置tabbar
    private func setupTabbar() {
        // 设置tabbar背景图片，以下两句代码必须连用，Nav 的处理类似
        // 以下两个属性都设置成 [[UIImage alloc] init] 就是完全透明
        // 如果提供图像，会自动拉伸
        tabBar.shadowImage = UIImage.cj_singleDotImage(UIColor(white: 0.9, alpha: 1.0))
        tabBar.backgroundImage = UIImage(named: "tabbar_background")
    }
}

// MARK： 添加子控制器
// swift中可以通过extension进行延展，将代码进行分组管理
extension MainViewController {
    
    /// 添加所有的子控制器
    private func addChildViewControllers() {
        addChildViewController(FLHomeViewController(), title: "首页", imgName: "tabbar_home")
        addChildViewController(FLMessageViewController(), title: "消息", imgName: "tabbar_message_center")
        addChildViewController(FLDiscoverViewController(), title: "发现", imgName: "tabbar_discover")
        addChildViewController(FLProfileViewController(), title: "我", imgName: "tabbar_profile")
    }
    
    /// 添加子控制器 所抽取的方法
    private func addChildViewController(vc: UIViewController, title: String, imgName: String) {
        let vc = UIViewController()
        vc.title = title // 字符串是String  不是NSString，两者有区别
        
//                vc.tabBarItem.titleTextAttributesForState()
//        /*
//         Argument passed to call that takes no arguments
//         vc.tabBarItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontSize(10)], forState: .Normal)
//         systemFontSize   方法与 systemFontOfSize方法  不一致，导致上树问题
//         */
//        对于参数 forState 来说只有.Normal 设置字体大小才有用
        vc.tabBarItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10), NSForegroundColorAttributeName: UIColor.orangeColor()], forState: .Normal)
        
        vc.tabBarItem.image = UIImage(named: imgName)
        vc.tabBarItem.selectedImage = UIImage(named: imgName + "_selected")?.imageWithRenderingMode(.AlwaysOriginal)
        
        let nav = UINavigationController(rootViewController: vc) //不需要调用的用 _ 代替
        addChildViewController(nav)
    }
}